Removal of bicep-types submodule with migration to pnpm#11139
Merged
brooke-hamilton merged 36 commits intoradius-project:mainfrom Feb 11, 2026
Merged
Conversation
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Removes the bicep-types git submodule and migrates the repo’s JS/TS dependency management (notably typespec/ and hack/bicep-types-radius/) from npm to pnpm, updating workflows, devcontainer setup, and developer docs accordingly.
Changes:
- Removed
bicep-typessubmodule wiring (bicep-types,.gitmodules) and submodule-related build checks. - Added pnpm lockfiles and updated build/generation scripts to use pnpm.
- Updated GitHub workflows, devcontainer bootstrap, and contributor docs (including a migration guide).
Reviewed changes
Copilot reviewed 23 out of 29 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| typespec/pnpm-lock.yaml | Adds pnpm lockfile for TypeSpec tooling. |
| typespec/package-lock.json | Removes npm lockfile in favor of pnpm. |
| hack/bicep-types-radius/src/generator/pnpm-lock.yaml | Adds pnpm lockfile for the generator package. |
| hack/bicep-types-radius/src/generator/package.json | Switches bicep-types source to a git dependency and adds postinstall build/link logic. |
| hack/bicep-types-radius/src/generator/.npmrc | Configures pnpm behavior for the generator package. |
| hack/bicep-types-radius/src/autorest.bicep/package.json | Switches bicep-types source to a git dependency and adds postinstall build/link logic. |
| hack/bicep-types-radius/src/autorest.bicep/.npmrc | Configures pnpm behavior for the autorest extension package. |
| docs/contributing/contributing-code/contributing-code-prerequisites/README.md | Updates codegen prerequisites from npm to pnpm commands. |
| docs/contributing/contributing-code/contributing-code-building/README.md | Removes submodule-related build note. |
| docs/contributing/bicep-types-migration-guide.md | Adds migration steps for existing clones. |
| build/test.mk | Updates oav installation guidance to pnpm. |
| build/generate.mk | Updates generator prerequisites and bicep-types generation flow to pnpm. |
| build/build.mk | Removes submodule existence/version checks from make build. |
| bicep-types | Removes the submodule entry. |
| .gitmodules | Removes submodule configuration. |
| .github/workflows/validate-bicep.yaml | Removes submodule checkout and adds pnpm setup. |
| .github/workflows/publish-docs.yaml | Removes submodule checkout and migrates TypeSpec/autorest/oav installs to pnpm. |
| .github/workflows/long-running-azure.yaml | Removes submodule checkout. |
| .github/workflows/lint.yaml | Removes submodule checkout and migrates TypeSpec/autorest/oav installs to pnpm. |
| .github/workflows/functional-test-noncloud.yaml | Removes submodule checkout and adds pnpm setup. |
| .github/workflows/functional-test-cloud.yaml | Removes submodule checkout. |
| .github/workflows/codeql.yml | Removes submodule checkout and adds pnpm setup for JS analysis. |
| .github/workflows/build.yaml | Removes submodule checkout and adds pnpm setup before bicep-types generation. |
| .github/dependabot.yml | Replaces submodule updates with npm-ecosystem updates for the pnpm-managed projects. |
| .devcontainer/post-create.sh | Migrates devcontainer bootstrap steps to pnpm and adds pnpm configuration. |
| .devcontainer/devcontainer.json | Configures devcontainer Node feature to install pnpm v10. |
Files not reviewed (4)
- hack/bicep-types-radius/src/generator/package-lock.json: Language not supported
- hack/bicep-types-radius/src/generator/pnpm-lock.yaml: Language not supported
- typespec/package-lock.json: Language not supported
- typespec/pnpm-lock.yaml: Language not supported
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
DariuszPorowski
previously approved these changes
Feb 2, 2026
Member
DariuszPorowski
left a comment
There was a problem hiding this comment.
LGTM, just one suggestion for dev container
Co-authored-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com> Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
…ep-types-submodule-1
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
DariuszPorowski
requested changes
Feb 9, 2026
Co-authored-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com> Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
willdavsmith
approved these changes
Feb 11, 2026
sk593
pushed a commit
that referenced
this pull request
Feb 13, 2026
# Description
This PR removes the `bicep-types` git submodule and migrates
JavaScript/TypeScript package management from npm to pnpm. The
`bicep-types` dependency is now fetched as a git dependency and built
via a `postinstall` script, simplifying the developer experience.
**Key changes:**
- Remove the `bicep-types` git submodule and `.gitmodules` file
- Migrate from npm (`package-lock.json`) to pnpm (`pnpm-lock.yaml`) for:
- `typespec/`
- `hack/bicep-types-radius/src/generator/`
- `hack/bicep-types-radius/src/autorest.bicep/`
- Update GitHub workflows to use pnpm instead of npm
- Update devcontainer configuration for pnpm
- Update Makefiles and build scripts
- Add migration guide for developers with existing clones
- Add a root `package.json` to ensure dev dependencies are at consistent
versions and updated with dependabot.
## Type of change
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and does not change the functionality of
Radius (issue link optional).
## Testing
1. Checkout the PR branch
2. Follow the contributing guide included with this PR at
`docs/contributing/bicep-types-migration-guide.md`.
## Contributor checklist
Please verify that the PR meets the following requirements, where
applicable:
- An overview of proposed schema changes is included in a linked GitHub
issue.
- [ ] Yes <!-- TaskRadio schema -->
- [x] Not applicable <!-- TaskRadio schema -->
- A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
- [x] Yes <!-- TaskRadio design-pr -->
- [ ] Not applicable <!-- TaskRadio design-pr -->
- The design document has been reviewed and approved by Radius
maintainers/approvers.
- [ ] Yes <!-- TaskRadio design-review -->
- [x] Not applicable <!-- TaskRadio design-review -->
- A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
- [ ] Yes <!-- TaskRadio samples-pr -->
- [x] Not applicable <!-- TaskRadio samples-pr -->
- A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
- [ ] Yes <!-- TaskRadio docs-pr -->
- [x] Not applicable <!-- TaskRadio docs-pr -->
- A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
- [ ] Yes <!-- TaskRadio recipes-pr -->
- [x] Not applicable <!-- TaskRadio recipes-pr -->
**Related PRs:**
- Design document:
radius-project/design-notes#138
---------
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Co-authored-by: Sylvain Niles <sylvainniles@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR removes the
bicep-typesgit submodule and migrates JavaScript/TypeScript package management from npm to pnpm. Thebicep-typesdependency is now fetched as a git dependency and built via apostinstallscript, simplifying the developer experience.Key changes:
bicep-typesgit submodule and.gitmodulesfilepackage-lock.json) to pnpm (pnpm-lock.yaml) for:typespec/hack/bicep-types-radius/src/generator/hack/bicep-types-radius/src/autorest.bicep/package.jsonto ensure dev dependencies are at consistent versions and updated with dependabot.Type of change
Testing
docs/contributing/bicep-types-migration-guide.md.Contributor checklist
Please verify that the PR meets the following requirements, where applicable:
Related PRs: